<?php
 //$reentrance = var_courante ("reentrance", 0, null) ;
 //echo $reentrance ;
 If (!IsSet ($reentrance))
  {
   Session_Start () ;
   Include ("../../include/garennes.cfg") ;
   Include ("../../include/init.php") ;
   Include ("../include/config.inc") ;
   verif_droits ($droit_courant, $_SESSION ["code"]) ;
  }
 // Variable de typage de page pour ie (page 1 du menu)
 $type = var_courante ("type", 0, 1) ;
 
 $param_theme = parametres_theme (themeparsession ($_SESSION ["code"])) ;
 $rep_themes = "../../images/themes/" ;
 Include ($rep_themes.$param_theme ["nom_repertoire"]."/".$param_theme ["fichier_config"]) ;
 
 $fenetre = 0 ;
 $titre = var_courante ("titre", 0, -2) ;
 $id_classe = var_courante ("id_classe", 0, 0) ;
 $periode = var_courante ("periode", 0, 0) ;
 $id_service_prof = var_courante ("id_service_prof", 0, 0) ;
 $id_utilisateur = utilparcode ($_SESSION ["code"]) ;
 $millesime = millesime (0) ;
 
 If (($periode == 0) Or ($id_classe == 0)) { Header ("Location: ./travail.php?code=".$_SESSION ["code"]."&id_classe=".$id_classe) ; }
 
 If ($titre == 0) { SQL_transmission (4) ; }
 
 // Format des arrondis des moyennes
 $format_arrondi = restaure_configuration ("PROF_".utilparcode ($_SESSION ["code"]),"MOYENNES","FORMAT") ;
 If (!IsSet ($format_arrondi) Or ($format_arrondi < 0) Or ($format_arrondi == "")) { $format_arrondi = 2 ; }
 
 // Gestion
 $resultat = SQL_commande ("SELECT e.max,e.bulletin_cpe,c.coefficient_vs,e.id_etablissement,e.moyenne,e.moyenne_periode FROM etablissements e,classes c WHERE c.id_classe='".$id_classe."' AND c.etablissement=e.id_etablissement LIMIT 1", $id_sql) ;
 $gestion = SQL_tableau_associatif ($resultat, "") ;
 If ($gestion ["max"] <= 0) { $gestion ["max"] = 20 ; $ok = SQL_commande ("UPDATE etablissements SET max='20' WHERE id_etablissement='".$gestion ["id_etablissement"]."' LIMIT 1", $id_sql ); }
 $coeff_cpe = $gestion ["coefficient_vs"] ;
 
 // Affiche entete
 $resultats = SQL_commande ("SELECT t.nom_periode,t.nombre,c.num_periode FROM classes c,types_periode t WHERE t.id_type_periode=c.periode AND c.id_classe='".$id_classe."' LIMIT 1", $id_sql) ;
 $nom_periode = SQL_ligne_suivante ($resultats) ;
 
 // Recherche des couleurs personnalisees
 $coul_notes = couleurs_notes ($id_classe, $_SESSION ["code"], $_SESSION ["identifiant"]) ;
 $coul_notes_ecart [0][0] = 1 ;
 $coul_notes_ecart [1][0] = $gestion ["max"] ;
 $coul_notes_ecart [1][1] = "#000000" ;
 
 // Bibliotheque de calcul des moyennes
 Include ("../../include/moyennes.php") ;
 
 // Affichage moyenne coefficientee ?
 $cf = SQL_commande ("SELECT coefficient,examen FROM classes WHERE id_classe='".$id_classe."' LIMIT 1", $id_sql) ;
 $cof = SQL_ligne_suivante ($cf) ;
 $aff_coeff = $cof [0] ;
 $exam = $cof [1] ;
 If ($exam > 0) { $ok_exam = 1 ; } Else { $ok_exam = 0 ; }
 
 // Recherche service prof
 $res = SQL_commande ("SELECT * FROM services_prof WHERE id_service_prof='".$id_service_prof."' LIMIT 1", $id_sql) ;
 $sp = SQL_ligne_suivante ($res) ;
 
 If ($titre >= 0)
  {
   If ($titre == 0) { $espace = " " ; $mode = 0 ; } Else { $espace = "&nbsp;" ; $mode = 1 ; }
   // Entetes
   // Afficher le nom de la sous-discipline
   $aff_nom_sous_disc = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","ENTETE_NOM_SOUS_DISC",1) ;
   // Afficher le nom du groupe
   $aff_nom_groupe = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","ENTETE_NOM_GROUPE",0) ;
   // Afficher le nom de l'enseignant
   $aff_nom_enseignant = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","ENTETE_NOM_ENSEIGNANT",1) ;
   // Afficher les coefficients
   $aff_coefficient = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","ENTETE_COEFFICIENT",1) ;
   // Afficher le rang de l'eleve moyenne non coefficientee
   $rang_eleve_non_coefficiente = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","RANG_NON_COEFFICIENTE_".$id_classe,0) ;
   // Afficher le rang de l'eleve moyenne coefficientee
   $rang_eleve_coefficiente = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","RANG_COEFFICIENTE_".$id_classe,0) ;
   // Afficher l'ecart type disciplinaire
   $ecart_type_disciplinaire = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","ECART_TYPE_".$id_classe,0) ;
   // Afficher la mediane disciplinaire
   $mediane_disciplinaire = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","MEDIANE_".$id_classe,0) ;
   
   // Afficher toutes les moyennes periodiques de chaque discipline par eleve
   If ($droit_courant != $droit_prof)
    {
     If ($nom_periode [1] < $periode) { $table_annee = 1 ; } Else { $table_annee = 0 ; }
     $table_annee = 0 ;
    }
   Else { $table_annee = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","TOUTES_PERIODES_".$id_classe,0) ; }
   // Afficher la colonne moyenne disciplinaire par eleve
   $colonne_moy_discipline = restaure_configuration_defaut ("PROF_".$id_utilisateur,"MOYENNES","DISCIPLINAIRE_".$id_classe,0) ;
   // Afficher la colonne moyenne annuelle par eleve
   $colonne_moy_annee = restaure_configuration ("PROF_".$id_utilisateur,"MOYENNES","ANNEE_".$id_classe,0) ;
   
   // TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
   /*
   $aff_nom_sous_disc = 1 ;
   $ok_aff_sd = 1 ;
   $aff_nom_groupe = 1 ;
   $ok_aff_grp = 1 ;
   $aff_nom_enseignant = 1 ;
   $ok_aff_nom = 1 ;
   $aff_coefficient = 1 ;
   $rang_eleve_non_coefficiente = 1 ;
   $rang_eleve_coefficiente = 1 ;
   $ecart_type_disciplinaire = 1 ;
   $mediane_disciplinaire = 1 ;
   $table_annee = 0 ;
   $colonne_moy_discipline = 1 ;
   $colonne_moy_annee = 1 ;
   */
   // TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
   
   // Verification : coherence
   If ($table_annee == 0)
    {
     If ($colonne_moy_discipline == 1) { $colonne_moy_discipline = 0 ; sauvegarde_configuration ("PROF_".$id_utilisateur,"MOYENNES","DISCIPLINAIRE_".$id_classe,0) ; }
     If ($colonne_moy_annee == 1) { $colonne_moy_annee = 0 ; sauvegarde_configuration ("PROF_".$id_utilisateur,"MOYENNES","ANNEE_".$id_classe,0) ; }
    }
   If ($periode == $nom_periode [1]+1)
    {
     $min_periode = 1 ;
     $max_periode = periode_actuelle ($id_classe) ; //$nom_periode [1] ;
     $taille_fonte = "+0" ;
     // Restauration des parametres pour afficher toutes les notes de l'annee ou seulement les moyennes
     If ($table_annee == 1) { $annee_moy = 1 ; } Else { $min_periode = $max_periode+1 ; $max_periode++ ; }
     $nbr_periodes = $max_periode-$min_periode+1 ;
    }
   Else
    {
     $min_periode = $max_periode = $periode ;
     $taille_fonte = "+0" ;
     // Affichage des moyennes des periodes precedentes
     If ($table_annee == 1)
      {
       $min_periode = 1 ;
       $annee_moy = 0 ;
       $nbr_periodes = $max_periode-$min_periode+$annee_moy+1 ;
       If ($max_periode == 1) { $table_annee = 0 ; }
      }
     Else
      {
       // Affichage des moyennes de la periode selectionnee
       $annee_moy = 0 ;
       $nbr_periodes = 1 ;
      }
    }
   
   // Re-calcul moyennes 
   If ($titre == 3)
    {
     If ($id_service_prof == 0)
      {
       // Toutes
       $resultats = SQL_commande ("UPDATE calcul_moyenne SET ok='0',modification='".Date ("Y-m-d H:i:s")."' WHERE classe='".$id_classe."' AND periode='".$periode."' AND millesime='".$millesime."'", $id_sql) ;
      }
     Else
      {
       // Juste une discipline
       $resultats = SQL_commande ("UPDATE calcul_moyenne SET ok='0',modification='".Date ("Y-m-d H:i:s")."' WHERE classe='".$id_classe."' AND service_prof='".$id_service_prof."' AND periode='".$periode."' AND millesime='".$millesime."'", $id_sql) ;
      }
    }
   
   // Determine le nombre et le nom des groupements de disciplines
   $groupe_disc = groupement_toutes_disciplines ($id_classe, $millesime) ;
   If ($groupe_disc [0][0] > 0) { $tdisc = determine_disciplines ($id_classe, $groupe_disc, $millesime) ; } Else { $tdisc ["general"]["nombre_disc"] = 0 ; }
   
   // Discipline CPE
   /*
   If (($gestion ["bulletin_cpe"] == 3) Or ($gestion ["bulletin_cpe"] == 4))
    {
     $tdisc ["general"]["nombre_disc"]++ ;
     $tdisc ["disc"][$tdisc ["general"]["nombre_disc"]] = "VIE SC" ; // Enregistre le nom de la discipline
     $tdisc ["id_disc"][$tdisc ["general"]["nombre_disc"]] = -1 ; // Enregistre l'id de la discipline
     $tdisc ["id_sc"][$tdisc ["general"]["nombre_disc"]] = -1 ; // Enregistre l'id du service classe
     $tdisc ["id_sp"][$tdisc ["general"]["nombre_disc"]] = -1 ; // Enregistre l'id du service prof
     $tdisc ["id_gc"][$tdisc ["general"]["nombre_disc"]] = -1 ; // Enregistre le numero de groupe (0 si pas de groupe, -1 si vie scolaire)
     $tdisc ["id_ens"][$tdisc ["general"]["nombre_disc"]] = id_cpe_par_id_classe ($tdisc ["general"]["id_classe"]) ; // Enregistre l'id du CPE
     $ne = SQL_commande ("SELECT civilite,nom,prenom FROM utilisateurs WHERE id_utilisateur='".$tdisc ["id_ens"][$j]."' LIMIT 1", $id_sql) ;
     If (SQL_nbr_lignes ($ne) == 1)
      {
       $nens = SQL_ligne_suivante ($ne) ;
       $tdisc ["civ_ens"][$tdisc ["general"]["nombre_disc"]] = $nens [0] ;
       $tdisc ["nom_ens"][$tdisc ["general"]["nombre_disc"]] = $nens [1] ;
       $tdisc ["pre_ens"][$tdisc ["general"]["nombre_disc"]] = $nens [2] ;
       $ok_aff_nom = 1 ;
      }
     $tdisc ["coeff_disc"][$tdisc ["general"]["nombre_disc"]] = coefficient_discipline_vie_scolaire ($tdisc ["general"]["id_classe"]) ;
     $tdisc ["id_sous_disc"][$tdisc ["general"]["nombre_disc"]] = 0 ;
     $tdisc ["sous_disc"][$tdisc ["general"]["nombre_disc"]] = "" ;
     $tdisc ["nom_groupe"][$tdisc ["general"]["nombre_disc"]] = "" ;
    }
   */    
   $nombre_disciplines = $tdisc ["general"]["nombre_disc"] ;

   $aff_ligne = initialise_moyennes ($id_classe, $nombre_disciplines, $min_periode, $max_periode, $aff_coeff, $titre) ;
   
   // Recherche discipline par discipline les moyennes
   $type_moy = var_courante ("type_moy", 0, NOTE_MOY_ELEVE_DISC) ;
   $aff_ligne = attribution_moyennes ($aff_ligne, $type_moy, $min_periode, $max_periode, $tdisc, $nom_periode, $format_arrondi, $mode, $espace) ;
   
   // Calcul de toutes les moyennes NORMALES
   If (($groupe_disc [0][0] == 1) And ($groupe_disc [1][0] == -1)) { $moy_periode = 0 ; } Else { $moy_periode = $gestion ["moyenne_periode"] ; }
   $moy_nc = calcul_moyennes ($aff_ligne, $min_periode, $max_periode, $groupe_disc, $tdisc, $moy_periode, $gestion ["moyenne"], $gestion ["max"]) ;
   
   // Nom du groupement de disciplines
   $intitule_groupe_disc = intitule_titre_affichage ("GROUPE_DISC", "0|Groupe de disciplines|Groupes de disciplines", $millesime) ;
  }
 
 If ($titre == 0)
  {
   Include ("../../include/phppdflib.class.php") ;
   
   // Tailles des caracteres
   $taille_numerotation_lignes = 6 ;
   
   $taille_titre_0 = 12 ; // Taille du titre 1
   $taille_titre_1 = 12 ; // Taille du titre 2
   $taille_titre_2 = 12 ; // Taille du titre 3
   $taille_titre_3 = 12 ; // Taille du titre 4
   $taille_titre_4 = 12 ; // Taille du titre 5
   $taille_titre_5 = 12 ; // Taille du titre 6
   $taille_titre_6 = 12 ; // Taille du titre 7
   $taille_titre_7 = 12 ; // Taille du titre 8
   $taille_titre_8 = 12 ; // Taille du titre 9
   $taille_titre_9 = 12 ; // Taille du titre 10
   
   $taille_nom_groupe = 7 ; // Taille des noms des groupement de disciplines
   
   $taille_entete_1 = 7 ; // Eleves
   $taille_entete_2 = 7 ; // Tous les autres
   $taille_entete_3 = 7 ; // Appreciations, Moy et moy c
   
   $taille_noms = 7 ; // Noms eleves
   $taille_notes = 10 ; // Notes eleves
   $taille_moy_nc = 10 ; // Moyennes eleves nc
   $taille_moy_c = 10 ; // Moyennes eleves coeff
   $taille_moy_eb = 10 ; // Moyennes examen blanc eleves
   $taille_appreciations = 5 ; // Appreciations eleves
   
   $taille_nom_moy = 7 ; // Nom
   $taille_notes_moy = 9 ; // Notes
   $taille_notes_moy_nc = 9 ; // Moyenne de la moyenne nc
   $taille_notes_moy_c = 9 ; // Moyenne de la moyenne coeff
   $taille_notes_moy_eb = 9 ; // Moyenne examen blanc

   $taille_nom_min = 7 ; // Nom
   $taille_notes_min = 9 ; // Notes minimum
   $taille_notes_min_nc = 9 ; // Minimum nc
   $taille_notes_min_c = 9 ; // Minimum coeff
   $taille_notes_min_eb = 9 ; // Moyenne examen blanc
   
   $taille_nom_max = 7 ; // Nom
   $taille_notes_max = 9 ; // Notes maximum
   $taille_notes_max_nc = 9 ; // Maximum nc
   $taille_notes_max_c = 9 ; // Maximum coeff
   $taille_notes_max_eb = 9 ; // Moyenne examen blanc
   
   // Recup variables
   $numerotation_lignes = var_courante ("numerotation_lignes", 0, 0) ;
   $type_demande = var_courante ("type_demande", 0, 0) ;
   $type_moy = var_courante ("type_moy", 0, NOTE_MOY_ELEVE_DISC) ;
   
   // Construction du tableau
   If ($type_demande == 0) { $precision = 2 ; } Else { $precision = 10 ; }
   // RENSEIGNEMENTS GENERAUX SUR LA (OU LES) PAGE(S)
   If ($table_annee == 0)
    {
     $table [0][0] = "a4" ; // Format de la page : letter, legal, executive, tabloid, a3, a4, a5
     $table [0][1] = "F" ;  // Orientation : F portrait, I paysage
    }
   Else
    {
     If ($colonne_moy_discipline == 1)
      {
       $table [0][0] = "a3" ; // Format de la page : letter, legal, executive, tabloid, a3, a4, a5
       $table [0][1] = "I" ;  // Orientation : F portrait, I paysage
      }
     Else
      {
       $table [0][0] = "a3" ; // Format de la page : letter, legal, executive, tabloid, a3, a4, a5
       $table [0][1] = "I" ;  // Orientation : F portrait, I paysage
      }
    }
   $table [0][2] = 1 ;    // Nombre de "titres"
   $table [0][3] = 0 ;    // Nombre de "cellules"
   $table [0][4] = 0 ;    // Nombre de "lignes"
   
   $table [0][5] = 20 ;   // Marge haut
   $table [0][6] = 40 ;   // Marge bas
   $table [0][7] = 15 ;   // Marge gauche
   $table [0][8] = 15 ;   // Marge droite
   
   $table [0][9] = 0 ;    // Lignes des cellules : 0 arret si plus de donnees 1 continu jusqu'au bout
   
   // TITRE 1
   // Recherche periode
   $per = SQL_commande ("SELECT t.nom_periode,c.nom,t.nombre FROM classes c,types_periode t WHERE c.periode=t.id_type_periode AND c.id_classe='".$id_classe."' LIMIT 1", $id_sql) ;
   $p = SQL_ligne_suivante ($per) ;
   If ($type_moy == NOTE_MOY_ELEVE_DISC)
    {
     If ($periode <= $p [2]) { $table [0][11] = "Moyennes du ".$p [0]." ".$periode." pour la classe de ".$p [1] ; }
     Else { $table [0][11] = "Moyennes de l'ann".Chr (233)."e pour la classe de ".$p [1] ; }
    }
   ElseIf ($type_moy == NOTE_MOY_ELEVE_EXAM)
    {
     If ($periode <= $p [2]) { $table [0][11] = "Moyennes examen blanc du ".$p [0]." ".$periode." pour la classe de ".$p [1] ; }
     Else { $table [0][11] = "Moyennes examen blanc de l'ann".Chr (233)."e pour la classe de ".$p [1] ; }
    }
   Else
    {
     If ($periode <= $p [2]) { $table [0][11] = "Moyennes du ".$p [0]." ".$periode." pour la classe de ".$p [1] ; }
     Else { $table [0][11] = "Moyennes de l'ann".Chr (233)."e pour la classe de ".$p [1] ; }
    }
   $table [0][11] .= " sur ".$gestion ["max"] ;
   $table [0][12] = "G" ;                             // Type de caracteres : G gras, N normal, I italique, M gras+italique
   $table [0][13] = "N" ;                             // Fond : G grisee, N normal
   $table [0][14] = "M" ;                             // Position : M milieu, G gauche, D droite
   $table [0][15] = "H" ;                             // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
   $table [0][16] = Chr (30+$taille_titre_0) ;       // Taille : Chr (30+$taille)
   $table [0][17] = 0 ;                               // Encadrement : 0 non, 1 oui
   
   // TITRE 2
   // Recherche periode
   $table [0][21] = " " ; // Titre 2
   $table [0][22] = "N" ;                             // Type de caracteres : G gras, N normal, I italique, M gras+italique
   $table [0][23] = "N" ;                             // Fond : G grisee, N normal
   $table [0][24] = "M" ;                             // Position : M milieu, G gauche, D droite
   $table [0][25] = "H" ;                             // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
   $table [0][26] = Chr (30+$taille_titre_1) ;        // Taille : Chr (30+$taille)
   $table [0][27] = 0 ;                               // Encadrement : 0 non, 1 oui
   
   $table [0][10] = 0 ;
   
   // ENTETES
   // Groupe de disciplines
   If (($groupe_disc [0][0] > 0) And ($groupe_disc [1][0] != -1)) { $gd = 1 ; } Else { $gd = 0 ; }
   If ($gd == 1)
    {
     $table [0][10]++ ;
     $numero_groupe_disc = $table [0][10] ;
     If ($numerotation_lignes)
      {
       $table [$numero_groupe_disc][11] = "" ;
       $num = 11 ;
       $table [$numero_groupe_disc][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [$numero_groupe_disc][1] = "GG" ;     // Fond des cellules : G grisee, N normal
       $table [$numero_groupe_disc][2] = "MD" ;     // Position : M milieu, G gauche, D droite
       $table [$numero_groupe_disc][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [$numero_groupe_disc][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
      }
     Else
      {
       $num = 10 ;
       $table [$numero_groupe_disc][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [$numero_groupe_disc][1] = "G" ;     // Fond des cellules : G grisee, N normal
       $table [$numero_groupe_disc][2] = "D" ;     // Position : M milieu, G gauche, D droite
       $table [$numero_groupe_disc][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [$numero_groupe_disc][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
      }
     $table [$numero_groupe_disc][$num+1] = $intitule_groupe_disc [0] ;
     $num_cellule = 1 ;
     For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
      {
       // TITRE
       If ($groupe_disc [$num_groupe][0] > 0) { $nom_complet = conversion_html_ascii ($groupe_disc [$num_groupe][1])." - Coeff. ".Str_Replace (".",",",$groupe_disc [$num_groupe][4]) ; }
       Else { $nom_complet = "Sans groupe - Coeff. 1,00" ; } 
       $table [0][($num_groupe+1)*10+1] = $intitule_groupe_disc [0]." n".Chr (186).$num_groupe." : ".$nom_complet ; // Titre
       $table [0][($num_groupe+1)*10+2] = "N" ;                             // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [0][($num_groupe+1)*10+3] = "N" ;                             // Fond : G grisee, N normal
       $table [0][($num_groupe+1)*10+4] = "M" ;                             // Position : M milieu, G gauche, D droite
       $table [0][($num_groupe+1)*10+5] = "H" ;                             // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [0][($num_groupe+1)*10+6] = Chr (30+$taille_nom_groupe) ;     // Taille : Chr (30+$taille)
       $table [0][($num_groupe+1)*10+7] = 0 ;                               // Encadrement : 0 non, 1 oui
       $table [0][2]++ ;
       For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
        {
         For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
          {
           $table [$numero_groupe_disc][$num+$num_cellule+1] = $num_groupe ; // $nom_coupe [$num_coupe] ;
           $table [$numero_groupe_disc][0] .= "N" ;        // Type car
           $table [$numero_groupe_disc][1] .= "G" ;        // Fond
           $table [$numero_groupe_disc][2] .= "M" ;        // Position
           $table [$numero_groupe_disc][3] .= "H" ;        // Fonte
           $table [$numero_groupe_disc][4] .= Chr (30+$taille_entete_2) ;
	   $num_cellule++ ;
          }
	}
       $table [$numero_groupe_disc][0] .= "N" ;        // Type car
       $table [$numero_groupe_disc][1] .= "N" ;        // Fond
       $table [$numero_groupe_disc][2] .= "M" ;        // Position
       $table [$numero_groupe_disc][3] .= "H" ;        // Fonte
       $table [$numero_groupe_disc][4] .= Chr (30+$taille_entete_3) ; // Taille
       $table [$numero_groupe_disc][$num+$num_cellule+1] = "" ; //$num_groupe ;
       $num_cellule++ ;
       If ($aff_coeff == 1)
        {
	 $table [$numero_groupe_disc][0] .= "N" ;        // Type car
         $table [$numero_groupe_disc][1] .= "N" ;        // Fond
         $table [$numero_groupe_disc][2] .= "M" ;        // Position
         $table [$numero_groupe_disc][3] .= "H" ;        // Fonte
         $table [$numero_groupe_disc][4] .= Chr (30+$taille_entete_3) ; // Taille
         $table [$numero_groupe_disc][$num+$num_cellule+1] = "" ; //$num_groupe ;
	 $num_cellule++ ;
	}
      }
    }
   
   // Matieres
   $table [0][10]++ ;
   $numero_disc = $table [0][10] ;
   If ($numerotation_lignes)
    {
     $table [$numero_disc][11] = "" ;
     $num = 11 ;
     $table [$numero_disc][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [$numero_disc][1] = "GG" ;     // Fond des cellules : G grisee, N normal
     $table [$numero_disc][2] = "MD" ;     // Position : M milieu, G gauche, D droite
     $table [$numero_disc][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [$numero_disc][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
    }
   Else
    {
     $num = 10 ;
     $table [$numero_disc][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [$numero_disc][1] = "G" ;     // Fond des cellules : G grisee, N normal
     $table [$numero_disc][2] = "D" ;     // Position : M milieu, G gauche, D droite
     $table [$numero_disc][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [$numero_disc][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
    }
   $table [$numero_disc][$num+1] = "Mati".Chr (232)."re" ;
   
   // Sous matiere
   If ($aff_nom_sous_disc == 1)
    {
     If ($tdisc ["general"]["ok_aff_sd"] == 1)
      {
       $table [0][10]++ ;
       $numero_sous_disc = $table [0][10] ;
       If ($numerotation_lignes)
        {
         $table [$numero_sous_disc][11] = "" ;
         $num = 11 ;
         $table [$numero_sous_disc][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [$numero_sous_disc][1] = "GG" ;     // Fond des cellules : G grisee, N normal
         $table [$numero_sous_disc][2] = "MD" ;     // Position : M milieu, G gauche, D droite
         $table [$numero_sous_disc][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [$numero_sous_disc][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
        }
       Else
        {
         $num = 10 ;
         $table [$numero_sous_disc][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [$numero_sous_disc][1] = "G" ;     // Fond des cellules : G grisee, N normal
         $table [$numero_sous_disc][2] = "D" ;     // Position : M milieu, G gauche, D droite
         $table [$numero_sous_disc][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [$numero_sous_disc][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
        }
       $table [$numero_sous_disc][$num+1] = "Sous-mati".Chr (232)."re" ;
      }
    }
   
   // Nom groupe
   If ($aff_nom_groupe == 1)
    {
     If ($tdisc ["general"]["ok_aff_grp"] == 1)
      {
       $table [0][10]++ ;
       $numero_nom_groupe = $table [0][10] ;
       If ($numerotation_lignes)
        {
         $table [$numero_nom_groupe][11] = "" ;
         $num = 11 ;
         $table [$numero_nom_groupe][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [$numero_nom_groupe][1] = "GG" ;     // Fond des cellules : G grisee, N normal
         $table [$numero_nom_groupe][2] = "MD" ;     // Position : M milieu, G gauche, D droite
         $table [$numero_nom_groupe][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [$numero_nom_groupe][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
        }
       Else
        {
         $num = 10 ;
         $table [$numero_nom_groupe][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [$numero_nom_groupe][1] = "G" ;     // Fond des cellules : G grisee, N normal
         $table [$numero_nom_groupe][2] = "D" ;     // Position : M milieu, G gauche, D droite
         $table [$numero_nom_groupe][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [$numero_nom_groupe][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
        }
       $table [$numero_nom_groupe][$num+1] = "Groupe" ;
      }
    }
   
   // Nom Enseignant
   If ($aff_nom_enseignant == 1)
    {
     If ($tdisc ["general"]["ok_aff_nom"] == 1)
      {
       $table [0][10]++ ;
       $numero_nom_enseignant = $table [0][10] ;
       If ($numerotation_lignes)
        {
         $table [$numero_nom_enseignant][11] = "" ;
         $num = 11 ;
         $table [$numero_nom_enseignant][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [$numero_nom_enseignant][1] = "GG" ;     // Fond des cellules : G grisee, N normal
         $table [$numero_nom_enseignant][2] = "MD" ;     // Position : M milieu, G gauche, D droite
         $table [$numero_nom_enseignant][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [$numero_nom_enseignant][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
        }
       Else
        {
         $num = 10 ;
         $table [$numero_nom_enseignant][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [$numero_nom_enseignant][1] = "G" ;     // Fond des cellules : G grisee, N normal
         $table [$numero_nom_enseignant][2] = "D" ;     // Position : M milieu, G gauche, D droite
         $table [$numero_nom_enseignant][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [$numero_nom_enseignant][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
        }
       $table [$numero_nom_enseignant][$num+1] = "Enseignant" ;
      }
    }
   
   // Coefficient
   If ($aff_coefficient == 1)
    {
     $table [0][10]++ ;
     $numero_coeff = $table [0][10] ;
     If ($numerotation_lignes)
      {
       $table [$numero_coeff][11] = "" ;
       $num = 11 ;
       $table [$numero_coeff][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [$numero_coeff][1] = "GG" ;     // Fond des cellules : G grisee, N normal
       $table [$numero_coeff][2] = "MD" ;     // Position : M milieu, G gauche, D droite
       $table [$numero_coeff][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [$numero_coeff][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
      }
     Else
      {
       $num = 10 ;
       $table [$numero_coeff][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [$numero_coeff][1] = "G" ;     // Fond des cellules : G grisee, N normal
       $table [$numero_coeff][2] = "D" ;     // Position : M milieu, G gauche, D droite
       $table [$numero_coeff][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [$numero_coeff][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
      }
     $table [$numero_coeff][$num+1] = "Coeff. " ;
    }
   
   // Periode
   If ($min_periode != $max_periode)
    {
     $table [0][10]++ ;
     $numero_periode = $table [0][10] ;
     If ($numerotation_lignes)
      {
       $table [$numero_periode][11] = "" ;
       $num = 11 ;
       $table [$numero_periode][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [$numero_periode][1] = "NN" ;     // Fond des cellules : G grisee, N normal
       $table [$numero_periode][2] = "MD" ;     // Position : M milieu, G gauche, D droite
       $table [$numero_periode][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [$numero_periode][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
      }
     Else
      {
       $num = 10 ;
       $table [$numero_periode][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [$numero_periode][1] = "N" ;     // Fond des cellules : G grisee, N normal
       $table [$numero_periode][2] = "D" ;     // Position : M milieu, G gauche, D droite
       $table [$numero_periode][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [$numero_periode][4] = Chr (30+$taille_entete_1) ; // Taille : Chr (30+$taille)
      }
     $table [$numero_periode][$num+1] = "P".Chr (233)."riode" ;
    }
   // Numerotation
   If ($numerotation_lignes) { $table [$table [0][10]][11] = "n".Chr (186)." " ; }
   
   //  Entetes : Remplissage
   $num_cellule_mat = 1 ;
   $num_disc = 1 ;
   For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
    {
     For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
      {
       For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
        {
         $table [$numero_disc][$num+$num_cellule_mat+1] = $tdisc ["disc"][$num_disc] ;
         $table [$numero_disc][0] .= "N" ;        // Type car
         $table [$numero_disc][1] .= "G" ;        // Fond
         $table [$numero_disc][2] .= "M" ;        // Position
         $table [$numero_disc][3] .= "H" ;        // Fonte
         $table [$numero_disc][4] .= Chr (30+$taille_entete_2) ;
         // Numero de periode
         If ($min_periode != $max_periode)
          {
           $table [$numero_periode][$num+$num_cellule_mat+1] = $num_periode ;
           $table [$numero_periode][0] .= "N" ;        // Type car
           $table [$numero_periode][1] .= "G" ;        // Fond
           $table [$numero_periode][2] .= "M" ;        // Position
           $table [$numero_periode][3] .= "H" ;        // Fonte
           $table [$numero_periode][4] .= Chr (30+$taille_entete_2) ;
          }
         // Nom de la sous-matiere
         If ($aff_nom_sous_disc == 1)
          {
           If ($tdisc ["general"]["ok_aff_sd"] == 1)
            {
             If ($tdisc ["id_sous_disc"][$num_disc] > 0)
              {
               $table [$numero_sous_disc][$num+$num_cellule_mat+1] = $tdisc ["sous_disc"][$num_disc] ;
               $table [$numero_sous_disc][0] .= "N" ;        // Type car
               $table [$numero_sous_disc][1] .= "G" ;        // Fond
               $table [$numero_sous_disc][2] .= "M" ;        // Position
               $table [$numero_sous_disc][3] .= "H" ;        // Fonte
               $table [$numero_sous_disc][4] .= Chr (30+$taille_entete_2) ;
              }
             Else
              {
               $table [$numero_sous_disc][$num+$num_cellule_mat+1] = "" ;
               $table [$numero_sous_disc][0] .= "N" ;        // Type car
               $table [$numero_sous_disc][1] .= "G" ;        // Fond
               $table [$numero_sous_disc][2] .= "M" ;        // Position
               $table [$numero_sous_disc][3] .= "H" ;        // Fonte
               $table [$numero_sous_disc][4] .= Chr (30+$taille_entete_2) ;
              }
            }
          }
         // Nom groupe
         If ($aff_nom_groupe == 1)
          {
           If ($tdisc ["general"]["ok_aff_grp"] == 1)
            {
             If ($tdisc ["id_gc"][$num_disc])
              {
               $table [$numero_nom_groupe][$num+$num_cellule_mat+1] = $tdisc ["nom_groupe"][$num_disc] ;
               $table [$numero_nom_groupe][0] .= "N" ;        // Type car
               $table [$numero_nom_groupe][1] .= "G" ;        // Fond
               $table [$numero_nom_groupe][2] .= "M" ;        // Position
               $table [$numero_nom_groupe][3] .= "H" ;        // Fonte
               $table [$numero_nom_groupe][4] .= Chr (30+$taille_entete_2) ;
              }
             Else
              {
               $table [$numero_nom_groupe][$num+$num_cellule_mat+1] = "" ;
               $table [$numero_nom_groupe][0] .= "N" ;        // Type car
               $table [$numero_nom_groupe][1] .= "G" ;        // Fond
               $table [$numero_nom_groupe][2] .= "M" ;        // Position
               $table [$numero_nom_groupe][3] .= "H" ;        // Fonte
               $table [$numero_nom_groupe][4] .= Chr (30+$taille_entete_2) ;
              }
            }
          }
         // Nom Enseignant
         If ($aff_nom_enseignant == 1)
          {
           If ($tdisc ["general"]["ok_aff_nom"] == 1)
            {
             $table [$numero_nom_enseignant][$num+$num_cellule_mat+1] = $tdisc ["nom_ens"][$num_disc] ;
             $table [$numero_nom_enseignant][0] .= "N" ;        // Type car
             $table [$numero_nom_enseignant][1] .= "G" ;        // Fond
             $table [$numero_nom_enseignant][2] .= "M" ;        // Position
             $table [$numero_nom_enseignant][3] .= "H" ;        // Fonte
             $table [$numero_nom_enseignant][4] .= Chr (30+$taille_entete_2) ;
            }
          }
         // Coefficient
         If ($aff_coefficient == 1)
          {
           $table [$numero_coeff][$num+$num_cellule_mat+1] .= Str_Replace (".", ",", $tdisc ["coeff_disc"][$num_disc]) ;
           $table [$numero_coeff][0] .= "N" ;        // Type car
           $table [$numero_coeff][1] .= "G" ;        // Fond
           $table [$numero_coeff][2] .= "M" ;        // Position
           $table [$numero_coeff][3] .= "H" ;        // Fonte
           $table [$numero_coeff][4] .= Chr (30+$taille_entete_2) ;
          }
         $num_cellule_mat++ ;
        }
       $num_disc++ ;
      }
     // Moyennes des groupes de disciplines
     If ($gd == 1)
      {
       $num_tempo = $table [0][10]-($min_periode != $max_periode) ;
       For ($numero_tempo = $numero_disc ; $numero_tempo < $num_tempo ; $numero_tempo++)
        {
	 $table [$numero_tempo][$num+$num_cellule_mat+1] = "" ;
	 $table [$numero_tempo][0] .= "N" ;        // Type car
         $table [$numero_tempo][1] .= "N" ;        // Fond
         $table [$numero_tempo][2] .= "M" ;        // Position
         $table [$numero_tempo][3] .= "H" ;        // Fonte
         $table [$numero_tempo][4] .= Chr (30+$taille_entete_2) ;
	}
       $table [$num_tempo][0] .= "N" ;        // Type car
       $table [$num_tempo][1] .= "G" ;        // Fond
       $table [$num_tempo][2] .= "M" ;        // Position
       $table [$num_tempo][3] .= "H" ;        // Fonte
       $table [$num_tempo][4] .= Chr (30+$taille_entete_3) ; // Taille
       $table [$num_tempo][$num+$num_cellule_mat+1] = "Moy.(".$num_groupe.")" ;
       $num_cellule_mat++ ;
       If ($aff_coeff == 1)
        {
	 For ($numero_tempo = $numero_disc ; $numero_tempo < $num_tempo ; $numero_tempo++)
          {
	   $table [$numero_tempo][$num+$num_cellule_mat+1] = "" ;
	   $table [$numero_tempo][0] .= "N" ;        // Type car
           $table [$numero_tempo][1] .= "N" ;        // Fond
           $table [$numero_tempo][2] .= "M" ;        // Position
           $table [$numero_tempo][3] .= "H" ;        // Fonte
           $table [$numero_tempo][4] .= Chr (30+$taille_entete_2) ;
	  }
	 $table [$num_tempo][0] .= "N" ;        // Type car
         $table [$num_tempo][1] .= "G" ;        // Fond
         $table [$num_tempo][2] .= "M" ;        // Position
         $table [$num_tempo][3] .= "H" ;        // Fonte
         $table [$num_tempo][4] .= Chr (30+$taille_entete_3) ; // Taille
         $table [$num_tempo][$num+$num_cellule_mat+1] = "Moy.C(".$num_groupe.")" ;
	 $num_cellule_mat++ ;
	}
      }
    }
   // Colonne moyenne
   $num_tempo = $table [0][10]-($min_periode != $max_periode) ;
   //If (($aff_coeff == 1) And ($type_demande == 1)) { $i++ ; }
   For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
    {
     $table [$num_tempo][0] .= "N" ;        // Type car
     $table [$num_tempo][1] .= "G" ;        // Fond
     $table [$num_tempo][2] .= "M" ;        // Position
     $table [$num_tempo][3] .= "H" ;        // Fonte
     $table [$num_tempo][4] .= Chr (30+$taille_entete_3) ; // Taille
     $table [$num_tempo][$num+$num_cellule_mat+1] = "Moy." ;
     If ($rang_eleve_non_coefficiente == 1) { $table [$num_tempo][$num+$num_cellule_mat+1] .= "(Rang)" ; }
     // Numero de periode
     If ($min_periode != $max_periode)
      {
       $table [$table [0][10]][$num+$num_cellule_mat+1] = $num_periode ;
       $table [$table [0][10]][0] .= "N" ;        // Type car
       $table [$table [0][10]][1] .= "G" ;        // Fond
       $table [$table [0][10]][2] .= "M" ;        // Position
       $table [$table [0][10]][3] .= "H" ;        // Fonte
       $table [$table [0][10]][4] .= Chr (30+$taille_entete_2) ;
      }
     $num_cellule_mat++ ;
    }
   // Colonne moyenne coefficientee
   If ($aff_coeff == 1)
    {
     $num_tempo = $table [0][10]-($min_periode != $max_periode) ;
     For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
      {
       $table [$num_tempo][0] .= "N" ;        // Type car
       $table [$num_tempo][1] .= "G" ;        // Fond
       $table [$num_tempo][2] .= "M" ;        // Position
       $table [$num_tempo][3] .= "H" ;        // Fonte
       $table [$num_tempo][4] .= Chr (30+$taille_entete_3) ; // Taille
       $table [$num_tempo][$num+$num_cellule_mat+1] = "Moy.C." ;
       If ($rang_eleve_coefficiente == 1) { $table [$num_tempo][$num+$num_cellule_mat+1] .= "(Rang)" ; }
       // Numero de periode
       If ($min_periode != $max_periode)
        {
         $table [$table [0][10]][$num+$num_cellule_mat+1] = $num_periode ;
         $table [$table [0][10]][0] .= "N" ;        // Type car
         $table [$table [0][10]][1] .= "G" ;        // Fond
         $table [$table [0][10]][2] .= "M" ;        // Position
         $table [$table [0][10]][3] .= "H" ;        // Fonte
         $table [$table [0][10]][4] .= Chr (30+$taille_entete_2) ;
        }
       $num_cellule_mat++ ;
      }
    }
   
   // Mise en place des moyennes
   $compteur = $table [0][10]-1 ;
   For ($num_eleve = 1 ; $num_eleve <= $aff_ligne [0][0][0][0] ; $num_eleve++)
    {
     $compteur++ ;
     // Ligne de cellules 1+$compteur
     If ($numerotation_lignes)
      {
       $table [1+$compteur][11] = $compteur-$table [0][10]+1 ;
       $num = 11 ;
       If (($num_eleve-1)%2)
        {
         $table [1+$compteur][0] = "GG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] = "AA" ;     // Fond des cellules : G grisee, N normal
        }
       Else
        {
         $table [1+$compteur][0] = "NN" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] = "AA" ;     // Fond des cellules : G grisee, N normal
        }
       $table [1+$compteur][2] = "MG" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] = Chr (30+$taille_numerotation_lignes).Chr (30+$taille_noms) ; // Taille : Chr (30+$taille)
      }
     Else
      {
       $num = 10 ; 
       If (($num_eleve-1)%2)
        {
         $table [1+$compteur][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] = "A" ;     // Fond des cellules : G grisee, N normal
        }
       Else
        {
         $table [1+$compteur][0] = "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] = "A" ;     // Fond des cellules : G grisee, N normal
        }
       $table [1+$compteur][2] = "G" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] = Chr (30+$taille_noms) ; // Taille : Chr (30+$taille)
      }
     // Affichage Nom et prenom
     $table [1+$compteur][$num+1] = " ".$aff_ligne [$num_eleve][0][1][$min_periode]." " ;
     $num_cellule_el [$num_eleve] = 1 ;
     // Moyennes disciplinaire
     $num_disc = 1 ;
     For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
      {
       For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
        {
         For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
          {
           // Moyenne disciplinaire par periode
           $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = Str_Replace (".", ",", $moy_nc [$num_groupe][$num_disc][$num_periode][$num_eleve]) ;
           If (($num_eleve-1)%2)
            {
             $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
  	    }
           Else
            {
	     $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
  	    }
           $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
           $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
           $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille : Chr (30+$taille)
           $num_cellule_el [$num_eleve]++ ;
          }
         // Moyenne disciplinaire annuelle
         If ($colonne_moy_discipline == 1)
          {
           $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = Str_Replace (".", ",", $moy_nc [$num_groupe][$num_disc]["moy"][$num_eleve]) ;
           If (($num_eleve-1)%2)
            {
             $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
  	    }
           Else
            {
	     $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
	     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
  	    }
           $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
           $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
           $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille : Chr (30+$taille)
           $num_cellule_el [$num_eleve]++ ;
	  }
	 $num_disc++ ;
        }
       // Moyennes des groupes de disciplines
       If ($gd == 1)
        {
         $table [1+$compteur][0] .= "N" ;        // Type car
         $table [1+$compteur][1] .= "G" ;        // Fond
         $table [1+$compteur][2] .= "M" ;        // Position
         $table [1+$compteur][3] .= "H" ;        // Fonte
         $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
	 If (Is_Numeric ($moy_nc [$num_groupe]["moy_nc"]["moy"][$num_eleve]))
	  { $table [1+$compteur][$num+$num_cellule_el [$num_eleve]+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"][$num_eleve], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+$num_cellule_el [$num_eleve]+1] = $moy_nc [$num_groupe]["moy_nc"]["moy"][$num_eleve] ; }
         $num_cellule_el [$num_eleve]++ ;
         If ($aff_coeff == 1)
          {
	   $table [1+$compteur][0] .= "N" ;        // Type car
           $table [1+$compteur][1] .= "G" ;        // Fond
           $table [1+$compteur][2] .= "M" ;        // Position
           $table [1+$compteur][3] .= "H" ;        // Fonte
           $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
	   If (Is_Numeric ($moy_nc [$num_groupe]["moy_nc"]["moy"][$num_eleve]))
	    { $table [1+$compteur][$num+$num_cellule_el [$num_eleve]+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"][$num_eleve], $format_arrondi)) ; }
	   Else { $table [1+$compteur][$num+$num_cellule_el [$num_eleve]+1] = $moy_nc [$num_groupe]["moy_c"]["moy"][$num_eleve] ; }
           //$table [1+$compteur][$num+$num_cellule_el [$num_eleve]+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"][$num_eleve], $format_arrondi)) ;
	   $num_cellule_el [$num_eleve]++ ;
	  }
        }
      }
     // Moyenne non coefficientee
     For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
      {
       If (($num_eleve-1)%2)
        {
         $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
        }
       Else
        {
         $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
        }
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_moy_nc) ; // Taille : Chr (30+$taille)
       If (Is_Numeric ($moy_nc ["moy_nc"]["moy"][$num_periode][$num_eleve]))
        { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"][$num_periode][$num_eleve], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = "-" ; }
       If ($rang_eleve_non_coefficiente == 1) { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] .= " (".$moy_nc ["moy_nc"]["rang"][$num_periode][$num_eleve].")" ; }
       $num_cellule_el [$num_eleve]++ ;
      }
     // Moyenne periodique nc annuelle
     If ($colonne_moy_annee == 1)
      {
       If (($num_eleve-1)%2)
        {
         $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
        }
       Else
        {
         $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
        }
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_moy_nc) ; // Taille : Chr (30+$taille)
       If (Is_Numeric ($moy_nc ["moy_nc"]["moy"]["moy"][$num_eleve]))
        { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"]["moy"][$num_eleve], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = "-" ; }
       If ($rang_eleve_non_coefficiente == 1) { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] .= " (".$moy_nc ["moy_nc"]["rang"]["moy"][$num_eleve].")" ; }
       $num_cellule_el [$num_eleve]++ ;
      }
     
     // Affichage moyenne coefficientee
     If ($aff_coeff == 1)
      {
       For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
        {
         If (($num_eleve-1)%2)
          {
           $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
           $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
          }
         Else
          {
           $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
           $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
          }
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_moy_nc) ; // Taille : Chr (30+$taille)
	 If (Is_Numeric ($moy_nc ["moy_c"]["moy"][$num_periode][$num_eleve]))
	  { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"][$num_periode][$num_eleve], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = "-" ; }
         If ($rang_eleve_coefficiente == 1) { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] .= " (".$moy_nc ["moy_c"]["rang"][$num_periode][$num_eleve].")" ; }
         $num_cellule_el [$num_eleve]++ ;
        }
       If ($colonne_moy_annee == 1)
        {
         If (($num_eleve-1)%2)
          {
           $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
           $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
          }
         Else
          {
           $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
           $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
          }
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_moy_c) ; // Taille : Chr (30+$taille)
	 If (Is_Numeric ($moy_nc ["moy_c"]["moy"]["moy"][$num_eleve]))
	  { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"]["moy"][$num_eleve], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] = "-" ; }
         If ($rang_eleve_non_coefficiente == 1) { $table [1+$compteur][$num+1+$num_cellule_el [$num_eleve]] .= " (".$moy_nc ["moy_c"]["rang"]["moy"][$num_eleve].")" ; }
         $num_cellule_el [$num_eleve]++ ;
        }
      }
    }
   
   // -------------------- LIGNE Moyennes disciplinaires -----------------------------
   $compteur++ ;
   // Ligne de cellules 1+$compteur
   If ($numerotation_lignes)
    {
     $table [1+$compteur][11] = " " ;
     $num = 11 ;
     $table [1+$compteur][0] = "NG" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] = "NG" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] = "MD" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] = Chr (30+1).Chr (30+$taille_nom_moy) ; // Taille : Chr (30+$taille)
    }
   Else
    {
     $num = 10 ;
     $table [1+$compteur][0] = "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] = "G" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] = "D" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] = Chr (30+$taille_nom_moy) ; // Taille : Chr (30+$taille)
    }
   $table [1+$compteur][$num+1] = "Moyennes" ;
   $num_cellule = 1 ;
   $num_disc = 1 ;
   For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
    {
     For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
      {
       For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
        {
	 If (Is_Numeric ($moy_nc [$num_groupe][$num_disc][$num_periode]["moy"]))
	  { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe][$num_disc][$num_periode]["moy"], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
         If ($tdisc ["type_moyenne"][$num_disc] == 1) { $table [1+$compteur][$num+1+$num_cellule] .= "%" ; }
         $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_notes_moy) ; // Taille : Chr (30+$taille)
         $num_cellule++ ;
        }
       If ($colonne_moy_discipline == 1)
        {
	 If (Is_Numeric ($moy_nc [$num_groupe][$num_disc]["moy"]["moy"]))
	  { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe][$num_disc]["moy"]["moy"], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
         $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_notes_moy) ; // Taille : Chr (30+$taille)
         $num_cellule++ ;
	}
       $num_disc++ ;
      }
     // Moyennes des groupes de disciplines
     If ($gd == 1)
      {
       $table [1+$compteur][0] .= "N" ;        // Type car
       $table [1+$compteur][1] .= "G" ;        // Fond
       $table [1+$compteur][2] .= "M" ;        // Position
       $table [1+$compteur][3] .= "H" ;        // Fonte
       $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
       If (Is_Numeric ($moy_nc [$num_groupe]["moy_nc"]["moy"]["moy"]))
        { $table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"]["moy"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+$num_cellule+1] = $moy_nc [$num_groupe]["moy_nc"]["moy"]["moy"] ; }
       //$table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"]["moy"], $format_arrondi)) ;
       $num_cellule++ ;
       If ($aff_coeff == 1)
        {
         $table [1+$compteur][0] .= "N" ;        // Type car
         $table [1+$compteur][1] .= "G" ;        // Fond
         $table [1+$compteur][2] .= "M" ;        // Position
         $table [1+$compteur][3] .= "H" ;        // Fonte
         $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
	 If (Is_Numeric ($moy_nc [$num_groupe]["moy_c"]["moy"]["moy"]))
          { $table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"]["moy"], $format_arrondi)) ; }
         Else { $table [1+$compteur][$num+$num_cellule+1] = $moy_nc [$num_groupe]["moy_c"]["moy"]["moy"] ; }
         //$table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"]["moy"], $format_arrondi)) ;
	 $num_cellule++ ;
        }
      }
    }
   // Moyenne generale non coefficientee
   For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
    {
     If (Is_Numeric ($moy_nc ["moy_nc"]["moy"][$num_periode]["moy"]))
      { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"][$num_periode]["moy"], $format_arrondi)) ; }
     Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
     $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] .= Chr (30+$taille_notes_moy_nc) ; // Taille : Chr (30+$taille)
     $num_cellule++ ;
    }
   // Moyenne generale non coefficientee annee
   If ($colonne_moy_annee == 1)
    {
     If (Is_Numeric ($moy_nc ["moy_nc"]["moy"]["moy"]["moy"]))
      { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"]["moy"]["moy"], $format_arrondi)) ; }
     Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
     $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] .= Chr (30+$taille_notes_moy_nc) ; // Taille : Chr (30+$taille)
     $num_cellule++ ;
    }
   // Moyenne generale coefficientee
   If ($aff_coeff == 1)
    {
     For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
      {
       If (Is_Numeric ($moy_nc ["moy_c"]["moy"][$num_periode]["moy"]))
        { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"][$num_periode]["moy"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
       $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_notes_moy_c) ; // Taille : Chr (30+$taille)
       $num_cellule++ ;
      }
     // Moyenne generale coefficientee annee
     If ($colonne_moy_annee == 1)
      {
       If (Is_Numeric ($moy_nc ["moy_c"]["moy"]["moy"]["moy"]))
        { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"]["moy"]["moy"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
       $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_notes_moy_nc) ; // Taille : Chr (30+$taille)
       $num_cellule++ ;
      }
    }
   
   // -------------------- LIGNE Minimum disciplinaires --------------------
   $compteur++ ;
   // Ligne de cellules 1+$compteur
   If ($numerotation_lignes)
    {
     $table [1+$compteur][11] = " " ;
     $num = 11 ;
     $table [1+$compteur][0] = "NN" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] = "NA" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] = "MD" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] = Chr (30+1).Chr (30+$taille_nom_min) ; // Taille : Chr (30+$taille)
    }
   Else
    {
     $num = 10 ;
     $table [1+$compteur][0] = "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] = "A" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] = "D" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] = Chr (30+$taille_nom_min) ; // Taille : Chr (30+$taille)
    }
   $table [1+$compteur][$num+1] = "Minimum" ;
   $num_cellule = 1 ;
   // +1 pour prendre en compte le minimum general
   $num_disc = 1 ;
   For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
    {
     For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
      {
       For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
        {
	 If (Is_Numeric ($moy_nc [$num_groupe][$num_disc][$num_periode]["min"]))
	  { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe][$num_disc][$num_periode]["min"], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
         If ($tdisc ["type_moyenne"][$num_disc] == 1) { $table [1+$compteur][$num+1+$num_cellule] .= "%" ; }
         $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_notes_min) ; // Taille : Chr (30+$taille)
         $num_cellule++ ;
        }
       If ($colonne_moy_discipline == 1)
        {
	 If (Is_Numeric ($moy_nc [$num_groupe][$num_disc]["moy"]["min"]))
	  { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe][$num_disc]["moy"]["min"], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
         $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_notes_moy) ; // Taille : Chr (30+$taille)
         $num_cellule++ ;
	}
       $num_disc++ ;
      }
     // Moyennes des groupes de disciplines
     If ($gd == 1)
      {
       $table [1+$compteur][0] .= "N" ;        // Type car
       $table [1+$compteur][1] .= "G" ;        // Fond
       $table [1+$compteur][2] .= "M" ;        // Position
       $table [1+$compteur][3] .= "H" ;        // Fonte
       $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
       If (Is_Numeric ($moy_nc [$num_groupe]["moy_nc"]["moy"]["min"]))
        { $table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"]["min"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+$num_cellule+1] = $moy_nc [$num_groupe]["moy_nc"]["moy"]["min"] ; }
       //$table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"]["min"], $format_arrondi)) ;
       $num_cellule++ ;
       If ($aff_coeff == 1)
        {
         $table [1+$compteur][0] .= "N" ;        // Type car
         $table [1+$compteur][1] .= "G" ;        // Fond
         $table [1+$compteur][2] .= "M" ;        // Position
         $table [1+$compteur][3] .= "H" ;        // Fonte
         $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
	 If (Is_Numeric ($moy_nc [$num_groupe]["moy_c"]["moy"]["min"]))
          { $table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"]["min"], $format_arrondi)) ; }
         Else { $table [1+$compteur][$num+$num_cellule+1] = $moy_nc [$num_groupe]["moy_c"]["moy"]["min"] ; }
         //$table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"]["min"], $format_arrondi)) ;
	 $num_cellule++ ;
        }
      }
    }
   // Minimum non coefficientee
   For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
    {
     If (Is_Numeric ($moy_nc ["moy_nc"]["moy"][$num_periode]["min"]))
      { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"][$num_periode]["min"], $format_arrondi)) ; }
     Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
     $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] .= Chr (30+$taille_notes_min_nc) ; // Taille : Chr (30+$taille)
     $num_cellule++ ;
    }
   // Minimum generale non coefficientee annee
   If ($colonne_moy_annee == 1)
    {
     If (Is_Numeric ($moy_nc ["moy_nc"]["moy"]["moy"]["min"]))
      { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"]["moy"]["min"], $format_arrondi)) ; }
     Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
     $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] .= Chr (30+$taille_notes_min_nc) ; // Taille : Chr (30+$taille)
     $num_cellule++ ;
    }
   // Minimum coefficientee
   If ($aff_coeff == 1)
    {
     For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
      {
       If (Is_Numeric ($moy_nc ["moy_c"]["moy"][$num_periode]["min"]))
        { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"][$num_periode]["min"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
       $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_notes_min_c) ; // Taille : Chr (30+$taille)
       $num_cellule++ ;
      }
     // Minimum generale coefficientee annee
     If ($colonne_moy_annee == 1)
      {
       If (Is_Numeric ($moy_nc ["moy_c"]["moy"]["moy"]["min"]))
        { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"]["moy"]["min"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
       $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_notes_moy_nc) ; // Taille : Chr (30+$taille)
       $num_cellule++ ;
      }
    }
   
   // -------------------- LIGNE Maximum disciplinaires --------------------
   $compteur++ ;
   // Ligne de cellules 1+$compteur
   If ($numerotation_lignes)
    {
     $table [1+$compteur][11] = " " ;
     $num = 11 ;
     $table [1+$compteur][0] = "NN" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] = "NG" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] = "MD" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] = "HH" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] = Chr (30+1).Chr (30+$taille_nom_max) ; // Taille : Chr (30+$taille)
    }
   Else
    {
     $num = 10 ;
     $table [1+$compteur][0] = "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] = "G" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] = "D" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] = "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] = Chr (30+$taille_nom_max) ; // Taille : Chr (30+$taille)
    }
   $table [1+$compteur][$num+1] = "Maximum" ;
   $num_cellule = 1 ;
   // +1 pour prendre en compte le maximum general
   $num_disc = 1 ;
   For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
    {
     For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
      {
       For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
        {
	 If (Is_Numeric ($moy_nc [$num_groupe][$num_disc][$num_periode]["max"]))
	  { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe][$num_disc][$num_periode]["max"], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
         If ($tdisc ["type_moyenne"][$num_disc] == 1) { $table [1+$compteur][$num+1+$num_cellule] .= "%" ; }
         $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille : Chr (30+$taille)
         $num_cellule++ ;
        }
       If ($colonne_moy_discipline == 1)
        {
	 If (Is_Numeric ($moy_nc [$num_groupe][$num_disc]["moy"]["max"]))
	  { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe][$num_disc]["moy"]["max"], $format_arrondi)) ; }
	 Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
         $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
         $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
         $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
         $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
         $table [1+$compteur][4] .= Chr (30+$taille_notes_moy) ; // Taille : Chr (30+$taille)
         $num_cellule++ ;
	}
       $num_disc++ ;
      }
     // Moyennes des groupes de disciplines
     If ($gd == 1)
      {
       $table [1+$compteur][0] .= "N" ;        // Type car
       $table [1+$compteur][1] .= "G" ;        // Fond
       $table [1+$compteur][2] .= "M" ;        // Position
       $table [1+$compteur][3] .= "H" ;        // Fonte
       $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
       If (Is_Numeric ($moy_nc [$num_groupe]["moy_nc"]["moy"]["max"]))
        { $table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"]["max"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+$num_cellule+1] = $moy_nc [$num_groupe]["moy_nc"]["moy"]["max"] ; }
       //$table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_nc"]["moy"]["max"], $format_arrondi)) ;
       $num_cellule++ ;
       If ($aff_coeff == 1)
        {
         $table [1+$compteur][0] .= "N" ;        // Type car
         $table [1+$compteur][1] .= "G" ;        // Fond
         $table [1+$compteur][2] .= "M" ;        // Position
         $table [1+$compteur][3] .= "H" ;        // Fonte
         $table [1+$compteur][4] .= Chr (30+$taille_notes) ; // Taille
	 If (Is_Numeric ($moy_nc [$num_groupe]["moy_c"]["moy"]["max"]))
          { $table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"]["max"], $format_arrondi)) ; }
         Else { $table [1+$compteur][$num+$num_cellule+1] = $moy_nc [$num_groupe]["moy_c"]["moy"]["max"] ; }
         //$table [1+$compteur][$num+$num_cellule+1] = Str_Replace (".", ",", arrondi_note ($moy_nc [$num_groupe]["moy_c"]["moy"]["max"], $format_arrondi)) ;
	 $num_cellule++ ;
        }
      }
    }
   // Maximum des moyennes generales non coefficientees
   For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
    {
     If (Is_Numeric ($moy_nc ["moy_nc"]["moy"][$num_periode]["max"]))
      { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"][$num_periode]["max"], $format_arrondi)) ; }
     Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
     $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] .= Chr (30+$taille_notes_max_nc) ; // Taille : Chr (30+$taille)
     $num_cellule++ ;
    }
   // Maximum generale non coefficientee annee
   If ($colonne_moy_annee == 1)
    {
     If (Is_Numeric ($moy_nc ["moy_nc"]["moy"]["moy"]["max"]))
      { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_nc"]["moy"]["moy"]["max"], $format_arrondi)) ; }
     Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
     $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
     $table [1+$compteur][1] .= "A" ;     // Fond des cellules : G grisee, N normal
     $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
     $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
     $table [1+$compteur][4] .= Chr (30+$taille_notes_min_nc) ; // Taille : Chr (30+$taille)
     $num_cellule++ ;
    }
   // Maximum coefficientee
   If ($aff_coeff == 1)
    {
     For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
      {
       If (Is_Numeric ($moy_nc ["moy_c"]["moy"][$num_periode]["max"]))
        { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"][$num_periode]["max"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
       $table [1+$compteur][0] .= "N" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_notes_max_c) ; // Taille : Chr (30+$taille)
       $num_cellule++ ;
      }
     // Maximum generale coefficientee annee
     If ($colonne_moy_annee == 1)
      {
       If (Is_Numeric ($moy_nc ["moy_c"]["moy"]["moy"]["max"]))
        { $table [1+$compteur][$num+1+$num_cellule] = Str_Replace (".", ",", arrondi_note ($moy_nc ["moy_c"]["moy"]["moy"]["max"], $format_arrondi)) ; }
       Else { $table [1+$compteur][$num+1+$num_cellule] = "-" ; }
       $table [1+$compteur][0] .= "G" ;     // Type de caracteres : G gras, N normal, I italique, M gras+italique
       $table [1+$compteur][1] .= "G" ;     // Fond des cellules : G grisee, N normal
       $table [1+$compteur][2] .= "M" ;     // Position : M milieu, G gauche, D droite
       $table [1+$compteur][3] .= "H" ;     // Fonte : H helvetica, C courrier, T times roman, S symbol, Z zapfdingbats
       $table [1+$compteur][4] .= Chr (30+$taille_notes_moy_nc) ; // Taille : Chr (30+$taille)
       $num_cellule++ ;
      }
    }
   
   // Nombre de cellules
   //$table [0][3] = $num-9+$nombre_disciplines*($max_periode-$min_periode+1)+$aff_coeff ;
   $num_max = $num_cellule_mat ;
   For ($num_eleve = 1 ; $num_eleve <= $aff_ligne [0][0][0][0] ; $num_eleve++)
    {
     If ($num_cellule_el [$num_eleve] > $num_max) { $num_max = $num_cellule_el [$num_eleve] ; }
    }
   $table [0][3] = $num_max ;
   If ((($gestion ["bulletin_cpe"]==3) Or ($gestion ["bulletin_cpe"]==4)) And ($type_moy==NOTE_MOY_ELEVE_DISC)) { $table [0][3]++ ; }
   // Nombre de lignes
   $table [0][4] = $compteur+1 ;
   If ($compteur > 0)
    {
     If ($type_demande == 0)
      {
       Include ($_SESSION ["repertoire_config"]."/tableaux_pdf.inc") ;
       tableau_pdf ($table, "moyennes_".$p [0]."_".$max_periode."_".$p [1], 1) ;
      }
     Else
      {
       Include ($_SESSION ["repertoire_config"]."/tableaux_csv.inc") ;
       tableau_csv ($table, "moyennes_".$p [0]."_".$max_periode."_".$p [1]) ;
      }
    }
   Else
    {
     // Aucune donnees
     Echo entete_page ("","") ;
     Echo "<html><body background=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][10]."\" text=\"".$theme [0][38]."\" onContextMenu=\"return false\">" ;
     Echo "<br><br><br><center><b>Aucune donn&eacute;es !</b></center></body></html>" ;
    }
  }
 ElseIf ($titre == -1)
  {
   $type_demande = var_courante ("type_demande", 0, 0) ;
   $type_moy = var_courante ("type_moy", 0, NOTE_MOY_ELEVE_DISC) ;
   // Procedure d'appel du calcul du PDF
   Header ("Refresh: 1; url=./moyennes.php?type=".$type."&titre=0&type_demande=".$type_demande."&id_classe=".$id_classe."&periode=".$periode."&type_moy=".$type_moy."&code=".$_SESSION ["code"]) ;
   Echo entete_page ("","") ;
   Echo "<html><head><title>Garennes - Moyennes.</title></head>" ;
   Echo "<body background=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][10]."\" text=\"".$theme [0][38]."\" onContextMenu=\"return false\">" ;
   If ($type_demande == 0)
    {
     Echo "<center><b>Cr&eacute;ation de la page des moyennes" ; If ($type_moy == NOTE_MOY_ELEVE_EXAM) { Echo " d'examen blanc" ; }
     Echo " pour impression.<br>Calcul en cours... Veuillez patienter S.V.P.</b><br>MERCI&nbsp;!<br>" ;
    }
   Else
    {
     Echo "<center><b>Cr&eacute;ation de la page des moyennes en CSV" ;
     Echo " pour un tableur.<br>Calcul en cours... Veuillez patienter S.V.P.</b><br>MERCI&nbsp;!<br>" ;
    }
   Echo "<a href=\"./moyennes.php?type=".$type."&titre=0&type_demande=".$type_demande."&id_classe=".$id_classe."&periode=".$periode."&type_moy=".$type_moy."&code=".$_SESSION ["code"]."\">" ;
   Echo "<img src=\"".$rep_themes."/".$param_theme ["nom_repertoire"]."/".$theme [9][11]."\" border=\"1\" style=\"border:1px solid ".$theme [0][42]."\"></a></center>" ;
   //Echo "<script> window.focus();function valide(){document.f.submit()} validation=setTimeout(\"valide()\",1000) </script>" ;
   Echo "</body></html>" ;
  }
 ElseIf ($titre <= -2)
  {
   // Procedure d'appel du calcul
   Header ("Refresh: 1; url=./moyennes.php?type=".$type."&titre=".(-$titre)."&id_classe=".$id_classe."&periode=".$periode."&id_service_prof=".$id_service_prof."&code=".$_SESSION ["code"]) ;
   Echo entete_page ("","") ;
   Echo "<html><head><title>Garennes - Moyennes.</title></head>" ;
   Echo "<body background=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][10]."\" text=\"".$theme [0][38]."\" onContextMenu=\"return false\">" ;
   Echo "<center><b>Cr&eacute;ation de la page des moyennes.<br>Veuillez patienter S.V.P.</b><br>MERCI!<br>" ;
   Echo "<a href=\"./moyennes.php?type=".$type."&titre=".(-$titre)."&id_classe=".$id_classe."&periode=".$periode."&id_service_prof=".$id_service_prof."&code=".$_SESSION ["code"]."\">" ;
   Echo "<img src=\"".$rep_themes."/".$param_theme ["nom_repertoire"]."/".$theme [9][11]."\" border=\"1\" style=\"border:1px solid ".$theme [0][42]."\"></a></center>" ;
   //Echo "<script> function valide(){document.f.submit()} validation=setTimeout(\"valide()\",1000) </script>" ;
   Echo "</body></html>" ;
  }
 Else
  {
   // Nombre de chiffres a l'affichage
   $precision = 2 ;
   Echo entete_page ("","") ;
   Echo "<html><head>" ;
   entete_html ("Garennes", "", 1) ;
   Echo styles ("none", "none", "none", $theme [0][32], "none") ;
   Include ("./moyennes.js") ;
   Include ("../../include/opacite.js") ;
   Echo "</head>" ;
   Echo "<body id=\"id_page\" onFocus=\"javascript:intensification_opacite();\" background=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][10]."\" onContextMenu=\"return false\">" ;
   // Patience
   Echo faire_patienter ("<font color='#000000' face='Verdana' size='4'><b>Veuillez patienter, la page est en cours de chargement...</b></font>", $theme [0][29], $theme [0][3]) ;
   Echo "<div style=\"position:absolute;left:0px;top:0px;visibility:visible;z-index:1\" id=\"moyenne\">" ;
   
   // Racourcis vers les autres periodes
   If ($droit_courant != $droit_prof) { Echo affichage_racourcis ($periode, $nom_periode, $id_classe) ; }

   If ($theme [2][1] == 0)
    {
     Echo "<table border=\"0\" width=\"100%\"><tr>" ;
     Echo "<td align=\"center\"><font size=\"+1\" color=\"".$theme [0][38]."\">Moyennes&nbsp;sur&nbsp;".$gestion ["max"]."&nbsp;-&nbsp;" ;
     If ($periode <= $nom_periode [1]) { Echo StrToUpper ($nom_periode [0])."&nbsp;".$periode."</font></td>" ; }
     Else { Echo "ANN&Eacute;E</font></td>" ; }
     //Echo "<TD><A HREF=\"javascript:ouvrefenetre('./aide.php?aide=7&rep=".$_SESSION ["repertoire_config"]."',350,650);\" OLDREF><IMG SRC=\"../images/aide.png\" BORDER=0></A></TD>" ;
     Echo "</tr></table>" ;
    }
   Else
    {
     Echo "<br>" ;
     If ($periode <= $nom_periode [1]) { $titre_fenetre = StrToUpper ($nom_periode [0])."&nbsp;".$periode."&nbsp;-&nbsp;Moyennes&nbsp;sur&nbsp;".$gestion ["max"]."</FONT></TD>" ; }
     Else { $titre_fenetre = "Moyennes&nbsp;de&nbsp;l'ANN&Eacute;E&nbsp;sur&nbsp;".$gestion ["max"] ; }
    }
   $non_centrer = 1 ;
   
   // Icones
   Echo "<table align=\"center\" cellspacing=\"0\" cellpadding=\"0\"><tr><td></td><td>Mode d'arrondi des moyennes : <b>".nom_arrondi ($format_arrondi)."</b>.</td></tr>" ;
   Echo "<tr><td valign=\"top\"><br><br>" ;
   Echo "<a href=\"./moyennes.php?titre=-3&id_classe=".$id_classe."&periode=".$periode."&id_service_prof=0\">&nbsp;<IMG SRC=\"../images/rafraichissement.png\" border=\"0\" title=\"Rafraichissement du calcul des moyennes.\">&nbsp;</a><br>" ;
   If ($table_annee == 1) { Echo "<a href=\"javascript:window.print()\">&nbsp;<IMG SRC=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][8]."\" border=\"0\" title=\"Impression.\">&nbsp;</a><br>" ; }
   Else { Echo "<a href=\"javascript:ouvrefenetre('./moyennes.php?titre=-1&type_demande=0&id_classe=".$id_classe."&periode=".$periode."&type_moy=".NOTE_MOY_ELEVE_DISC."',300,700)\">&nbsp;<IMG SRC=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][8]."\" border=\"0\" title=\"Aper&ccedil;u avant impression.\">&nbsp;</a><br>" ; }
   Echo "<a href=\"javascript:ouvrefenetre('./moyennes.php?titre=-1&type_demande=1&id_classe=".$id_classe."&periode=".$periode."&type_moy=".NOTE_MOY_ELEVE_DISC."',300,700)\">&nbsp;<IMG SRC=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][14]."\" border=\"0\" title=\"Exportation CSV pour tableur.\">&nbsp;</a>" ;
   Echo "</td><td>" ;
   $surbrillance = restaure_configuration ("PROF_".$id_utilisateur, "SAISIE", "SURBRILLANCE") ;
   Include ("../include/debut_theme.inc") ;
   Echo affichage_moyennes ($type_moyenne, $periode, $min_periode, $max_periode, $nbr_periodes, $nom_periode,
                            $aff_ligne, $moy_nc, $groupe_disc, $tdisc,
			    $table_annee, $colonne_moy_discipline, $colonne_moy_annee, $rang_eleve_non_coefficiente,
                            $aff_coeff, $rang_eleve_coefficiente, $aff_nom_sous_disc, $aff_nom_groupe, $aff_nom_enseignant, $aff_coefficient,
			    $ecart_type_disciplinaire, $mediane_disciplinaire,
			    $surbrillance, $taille_fonte, $format_arrondi, $theme, $coul_notes, $gestion, $droit_courant, $droit_prof) ;
   Include ("../include/fin_theme.inc") ;
   Echo "</td></tr>" ;

   // =======================================================================================================================================
   // Affichage des examens blancs
   // =======================================================================================================================================
   If (($ok_exam == 1) And ($periode <= $nom_periode [1]))
    {
     // Recherche discipline par discipline les moyennes
     $aff_ligne = attribution_moyennes ($aff_ligne, NOTE_MOY_ELEVE_EXAM, $min_periode, $max_periode, $tdisc, $nom_periode, $format_arrondi, $mode, $espace) ;
     
     // Calcul de toutes les moyennes NORMALES
     If (($groupe_disc [0][0] == 1) And ($groupe_disc [1][0] == -1)) { $moy_periode = 0 ; } Else { $moy_periode = $gestion ["moyenne_periode"] ; }
     $moy_exam = calcul_moyennes ($aff_ligne, $min_periode, $max_periode, $groupe_disc, $tdisc, $moy_periode, $gestion ["moyenne"]) ;
     // Verification qu'il y a au moins une note non nulle
     $nbr_notes = 0 ;
     For ($num_eleve = 1 ; $num_eleve <= $aff_ligne [0][0][0][0] ; $num_eleve++)
      {
       // Notes disciplinaire
       $num_disc = 1 ;
       For ($num_groupe = 1 ; $num_groupe <= $groupe_disc [0][0] ; $num_groupe++)
        {
         For ($jj = 1 ; $jj <= $tdisc ["nombre_disc"][$num_groupe] ; $jj++)
          {
           For ($num_periode = $min_periode ; $num_periode <= $max_periode ; $num_periode++)
            {
             If (Is_Numeric ($moy_exam [$num_groupe][$num_disc][$num_periode][$num_eleve])) { $nbr_notes++ ; }
            }
           If ($colonne_moy_discipline == 1) { If (Is_Numeric ($moy_exam [$num_groupe][$num_disc]["moy"][$num_eleve])) { $nbr_notes++ ; } }
	   $num_disc++ ;
	  }
         If ($gd == 1)
          {
	   If (Is_Numeric ($moy_exam [$num_groupe]["moy_nc"]["moy"][$num_eleve])) { $nbr_notes++ ; }
	   If ($aff_coeff == 1) { If (Is_Numeric ($moy_exam [$num_groupe]["moy_c"]["moy"][$num_eleve])) { $nbr_notes++ ; } }
	  }
        }
      }
     If ($nbr_notes > 0)
      {
       // Affichage du tableau si existe
       $titre_fenetre = "Examen&nbsp;blanc&nbsp;du&nbsp;".StrToUpper ($nom_periode [0])."&nbsp;".$periode."&nbsp;sur&nbsp;".$gestion ["max"]."</font></td>" ;
       Echo "<tr><td colspan=\"2\"></td></tr>" ;
       // Icones
       Echo "<tr><td valign=\"top\"><br><br>" ;
       Echo "<a href=\"javascript:ouvrefenetre('./moyennes.php?titre=-1&id_classe=".$id_classe."&periode=".$periode."&type_moy=".NOTE_MOY_ELEVE_EXAM."',300,700)\">&nbsp;<img src=\"".$rep_themes.$param_theme ["nom_repertoire"]."/".$theme [9][8]."\" border=\"0\" title=\"Aper&ccedil;u avant impression.\">&nbsp;</a>" ;
       Echo "</td><td>" ;
       Include ("../include/debut_theme.inc") ;
       Echo affichage_moyennes ($type_moyenne, $periode, $min_periode, $max_periode, $nbr_periodes, $nom_periode,
                                $aff_ligne, $moy_exam, $groupe_disc, $tdisc,
				$table_annee, $colonne_moy_discipline, $colonne_moy_annee, $rang_eleve_non_coefficiente,
                                $aff_coeff, $rang_eleve_coefficiente, $aff_nom_sous_disc, $aff_nom_groupe, $aff_nom_enseignant, $aff_coefficient,
				$ecart_type_disciplinaire, $mediane_disciplinaire,
				$surbrillance, $taille_fonte, $format_arrondi, $theme, $coul_notes, $gestion, $droit_courant, $droit_prof) ;
       Include ("../include/fin_theme.inc") ;
      }
     Else
      {
       // Aucune note
       // Affichage du tableau si existe
       $titre_fenetre = "Examen&nbsp;blanc&nbsp;du&nbsp;".StrToUpper ($nom_periode [0])."&nbsp;".$periode."&nbsp;sur&nbsp;".$gestion ["max"]."</font></td>" ;
       Echo "<tr><td colspan=\"2\"></td></tr>" ;
       // Icones
       Echo "<tr>" ;
       Echo "<td></td>" ;
       Echo "<td>" ;
       Include ("../include/debut_theme.inc") ;
       Echo "<table align=\"center\" bgcolor=\"".$theme [0][3]."\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">" ;
       Echo "<tr><td align=\"center\">Aucune note.</td></tr></table>" ;
       Include ("../include/fin_theme.inc") ;
      }
     Echo "</td></tr>" ;
    }
   Echo "</table></div><script type=\"text/javascript\">top.travail.travail_menu.document.consultation.type.value=".$type.";</script></body></html>" ;
  }
?>